import Vue from 'vue'
import App from './App'

// import Notify from '/wxcomponents/vant/dist/notify/notify';

// Vue.prototype.$notify = Notify

import {
	Toast
} from '@/wxcomponents/vant/toast/toast';

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
	Toast,
	...App
})
app.$mount()
Vue.prototype.$website = {
	// base_url: 'http://192.168.31.174:46642/',
	base_url: 'https://vps.cr12cz.cn/', //小程序

	thirdPartyLogins: 'api/login/third-party-logins', //第三方登录接口
	select_project: 'api/common/project-info', //项目
	select_companytrees: 'api/common/companytrees', //公司
	update_password: 'api/login/password', //修改密码
	getCodeMasta:"api/common/code-masta",//获取字典数据
	getCarInfoByUuid:"api/carmanagement/car-info-by-uuid",//根据二维码获取车辆信息
	addCarInfo:'api/carmanagement/vehicle-message',//新增车辆
	getCarList: 'api/home/all-car-info-by-search', //获取车辆列表实时数据
	getAllRoadPoint: 'api/home/all-road-point', //获取所有线路
}
Vue.prototype.request = function(params) {
	/*默认值*/
	params.complete = function() {};
	params.showLoading = params.showLoading == undefined ? true : params.showLoading;
	params.method = params.method == undefined ? "GET" : params.method;
	params.api = params.api == undefined ? "" : params.api;
	params.time = params.time == undefined ? 100 : params.time; //关闭弹框的时间
	params.header = params.header == undefined ? {
		'X-Requested-With': 'XMLHttpRequest',
		"Authorization": 'Bearer ' + uni.getStorageSync('userInfo').accessToken
	} : params.header;
	if (params.contentType) {
		params.header['content-type'] = params.contentType
	}
	/**/
	if (params.showLoading) {
		uni.showLoading({
			mask: true,
			title: (params.showLoadingTitle ? params.showLoadingTitle : "加载中...")
		});
	}

	let url = this.$website.base_url + params.url;
	var _this = this;
	uni.request({
		url: url,
		data: params.data,
		method: params.method,
		header: params.header,
		sslVerify: false,
		success: (res) => {
			params.success(res.data);
			// switch (res.statusCode) {
			// 	case 200:
			// 		//接口请求成功，不代表成功
			// 		if (res.data.statusCode == 200) {
			// 			//接口请求成功
			// 			// if (res.data.data.code >= 0 || res.data.data.code == undefined) {
			// 				params.success(res.data);
			// 			// } else {
			// 			// 	Toast(res.data.data.msg)
			// 			// 	//params.fail();
			// 			// }
			// 		} else if (res.data.statusCode == 401) {
			// 			//401登录的授权过期跳转到登录页面
			// 			Toast("您的登录信息已过期，3秒后将跳到登录界面！")
			// 			// _this.$u.vuex('vuex_user.hasLogin', false);
			// 			// _this.$u.vuex('vuex_user.userId', '');
			// 			// _this.$u.vuex('vuex_user.userName', '');
			// 			// setTimeout(function() {
			// 			// 	uni.reLaunch({
			// 			// 		url: "/pages/account/login/pwd-login"
			// 			// 	})
			// 			// }, 3000)
			// 		} else {
			// 			//接口请求失败
			// 			// Toast(JSON.stringify(res.data.errors)) //需要转换为string
			// 		}
			// 		break;
			// 	case 401:
			// 		//401登录的授权过期跳转到登录页面
			// 		// Toast("您的登录信息已过期，3秒后将跳到登录界面！")
			// 		// _this.$u.vuex('vuex_user.hasLogin', false);
			// 		// _this.$u.vuex('vuex_user.userId', '');
			// 		// _this.$u.vuex('vuex_user.userName', '');
			// 		// setTimeout(function() {
			// 		// 	uni.reLaunch({
			// 		// 		url: "/pages/account/login/pwd-login"
			// 		// 	})
			// 		// }, 3000)
			// 		// break;
			// 	case 404:
			// 		//找不到接口
			// 		// Toast("接口调用失败，请联系技术支持！")
			// 		break;
			// 	default:
			// 		//系统异常
			// 		// Toast("系统异常，请联系技术支持！")
			// 		break;
			// }
		},
		fail(error) {
			// Toast(JSON.stringify(error))
		},
		complete: () => {

			setTimeout(function() {
				if (params.showLoading) {
					uni.hideLoading(); //关闭弹框
				}
			}, params.time)

		}
	});
}
